package com.bigdata.spark.core.rdd.operator.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @author : ranzlupup
 * @date : 2023/3/1 16:14
 */
object RDD_Transform_sample {
    def main(args: Array[String]): Unit = {
        val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
        val sparkContext: SparkContext = new SparkContext(sparkConf)
        val RDD: RDD[Int] = sparkContext.makeRDD(List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
        val RDD2: RDD[Int] = sparkContext.makeRDD(List(1, 2, 3, 4, 5, 6, 7, 8), 2)

        // TODO RDD转换算子
        //      Value类型
        //      sample
        // 根据指定的规则从数据集中抽取数据
        // 第一个参数:抽取的数据是否放回，false:不放回
        // 第二个参数:抽取的几率，范围在[0,1]之间,0:全不取;1:全取;
        // 第三个参数:随机数种子


        RDD.sample(false,
            0.51,
            2)
            .collect()
            .foreach(println)

        sparkContext.stop()
    }
}
